package com.zw.mes.module.prodtaskmanager.mapper;

import com.zw.mes.common.JsonResult;
import com.zw.mes.module.overview.model.ProductModel;
import com.zw.mes.module.prodtaskmanager.entity.*;
import com.zw.mes.module.prodtaskmanager.model.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * @author 徐一贺
 * @className ProdOrdDao
 * @description 生产令持久层
 * @date 2021/1/11 15:52
 * @versron ver 1.0
 */
@Repository
public interface ProdOrdMapper {

    /**
     * findProdReleaseListBy 根据条件查询生产任务下达表
     *
     * @param param
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdOrdModel>
     * @author 徐一贺
     * @date 2021/1/14 8:11
     */
    List<ProdOrdModel> findProdReleaseListByParam(ProdOrdModel param);

    /**
     * getProjectByPrimaryKey 通过项目表主键获取项目信息
     *
     * @param proId 项目表主键
     * @return com.zw.mes.module.prodtaskmanager.model.VwProjectModel
     * @author 徐一贺
     * @date 2021/1/14 9:01
     */
    VwProjectModel getProjectByPrimaryKey(Integer proId);

    /**
     * findFilesListByEnquiryId 获取意向相关的文件列表
     *
     * @param projectModel 意向表主键和项目表主键
     * @return java.util.List<java.lang.String>
     * @author 徐一贺
     * @date 2021/1/14 11:16
     */
    List<VwPreEnquiryFile> findFilesListByEnquiryIdAnProId(VwProjectModel projectModel);

    /**
     * getVwPreEnquiryFileByPrimaryKey 根据主键获取文件实体
     *
     * @param id 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.VwPreEnquiryFile
     * @author 徐一贺
     * @date 2021/1/14 12:59
     */
    VwPreEnquiryFile getVwPreEnquiryFileByPrimaryKey(Integer id);

    /**
     * getVwProjectByFileId 根据文件主键获取项目信息
     *
     * @param id 文件主键
     * @return com.zw.mes.module.prodtaskmanager.entity.VwProject
     * @author 徐一贺
     * @date 2021/1/14 13:00
     */
    VwProject getVwProjectByFileId(Integer id);

    /**
     * getVwProjectByPrimaryKey 根据主键获取项目表视图的数据
     *
     * @param proId
     * @return com.zw.mes.module.prodtaskmanager.entity.VwProject
     * @author 徐一贺
     * @date 2021/1/14 17:54
     */
    VwProject getVwProjectByPrimaryKey(Integer proId);

    /**
     * findProdOrdByProCodeAndNotDel 根据项目编号获取未删除的生产令集合
     *
     * @param proCode 项目编号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdOrd>
     * @author 徐一贺
     * @date 2021/1/14 18:33
     */
    List<ProdOrd> findProdOrdByProCodeAndNotDel(String proCode);

    /**
     * insertProdOrd 插入生产令到数据库
     *
     * @param ProdOrd 生产令
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/14 18:46
     */
    Integer insertProdOrd(ProdOrd ProdOrd);

    /**
     * getProdOrdByPrimaryKey 根据主键获取生产令对象
     *
     * @param id 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdOrd
     * @author 徐一贺
     * @date 2021/1/14 19:27
     */
    ProdOrd getProdOrdByPrimaryKey(Integer id);

    /**
     * updateProdOrdByPrimaryKey 更新生产令
     *
     * @param ProdOrd
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/15 8:35
     */
    Integer updateProdOrdByPrimaryKey(ProdOrd ProdOrd);

    /**
     * findProdOrdModelByProCodeAndNotDel 根据项目编号获取该项目编号下所有未删除的生产令
     *
     * @param proCode 项目编号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdOrdModel>
     * @author 徐一贺
     * @date 2021/1/15 10:10
     */
    List<ProdOrdModel> findProdOrdModelByProCodeAndNotDel(String proCode);

    /**
     * 获取未下达生产令列表
     * @param proCode
     * @return
     */
    List<ProdOrdModel> findProdOrdModelByProCodeAndNotDel2(String proCode);

    /**
     * deleteProdOrdByProCodeAndNotDel 根据项目编号删除未删除的生产令
     *
     * @param proCode 项目编号
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/15 10:14
     */
    Integer deleteProdOrdByProCodeAndNotDel(String proCode);

    /**
     * updateProdOrdStatusByPrimaryKey 根据主键更新生产令提交状态
     *
     * @param ProdOrd 生产令对象
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/15 10:28
     */
    Integer updateProdOrdStatusByPrimaryKey(ProdOrd ProdOrd);

    /**
     * updateProdOrdStatusByProCodeAndNotDel 根据项目编号提交未删除的生产令
     *
     * @param ProdOrd 生产令对象
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/15 10:48
     */
    Integer updateProdOrdStatusByProCodeAndNotDel(ProdOrd ProdOrd);

    /**
     * getProdOrdModelByPrimaryKey 根据生产令主键获取生产令相关信息
     *
     * @param prodId 生产令主键
     * @return com.zw.mes.module.prodtaskmanager.model.ProdOrdModel
     * @author 徐一贺
     * @date 2021/1/15 13:40
     */
    ProdOrdModel getProdOrdModelByPrimaryKey(Integer prodId);

    /**
     * getProdOrdByProdNo 根据生产令编号获取生产令
     *
     * @param prodNo 生产令编号
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdOrd
     * @author 徐一贺
     * @date 2021/1/15 16:47
     */
    ProdOrdModel getProdOrdByProdNo(String prodNo);

    /**
     * findDifferentProCodePrimaryKeysByprodIds 获取不同项目号的ID主键
     *
     * @param id id主键
     * @return java.util.List<java.lang.Integer>
     * @author 徐一贺
     * @date 2021/1/29 15:42
     */
    List<String> findDifferentProCodePrimaryKeysByprodIds(String id);

    /**
     * updateProdOrdByStopPrimaryKey 根据主键更新生产令为终止状态
     *
     * @param param
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/3 11:00
     */
    Integer updateProdOrdByStopPrimaryKey(ProdOrdModel param);

    /**
     * 根据项目号获取未删除的生产令信息和项目信息，排序方式根据生产令编号排序
     *
     * @param proCode 项目号
     * @author 徐一贺
     */
    List<ProdOrdJsonModel> findProdOrdAndProjectByProCodeAndNotDel(String proCode);

    /**
     * 根据项目号获取项目信息
     *
     * @param prodProCod
     * @return
     */
    VwProject getVwProjectByProCode(String prodProCod);

    /**
     * 根据主键删除生产令
     *
     * @param prodId
     * @return
     */
    Integer deleteProdOrdByPrimaryKey(Integer prodId);

    /**
     * 恢复生产令生产状态为正常
     *
     * @param prodId
     * @return
     */
    Integer updateProdOrdProdManStaToNormalByPrimaryKey(Integer prodId);

    /**
     * 获取相同项目号下不含指定生产令编号数量的生产令数量之和
     *
     * @param param
     * @return
     */
    Integer getProdOrdTotalNumByProdProCodAndNotAppointProdNoNum(ProdOrdModel param);

    /**
     * 插入生产令变更记录
     *
     * @param prodOrdCha
     * @return
     */
    Integer insertProdOrdCha(ProdOrdCha prodOrdCha);

    /**
     * 更新生产令变更的信息
     *
     * @param prodOrdModel
     * @return
     */
    Integer updateProdOrdChangeByPrimaryKey(ProdOrdModel prodOrdModel);

    /**
     * changeQueryList 生产令变更记录查询
     *
     * @param param 搜索参数
     * @return List<ProdOrdChaModel> 搜索结果
     * @author 徐一贺
     * @date 2021/2/23 11:22
     */
    List<ProdOrdChaModel> findChangeQueryList(ProdOrdChaModel param);

    /**
     * 获取制作件清单主单列表
     *
     * @param param
     * @return
     */
    List<VwDsnMakeResultModel> findProductionListViewList(VwDsnMakeResultModel param);

    /**
     * 获取类型列表
     *
     * @param proCode
     * @return
     */
    List<String> findSpecialListByProCode(String proCode);

    /**
     * 获取类型列表
     *
     * @param proCode
     * @return
     */
    List<String> findPurSpecialListByProCode(String proCode);

    /**
     * 获取类型列表
     *
     * @param proCode
     * @return
     */
    List<String> findRawMatSpecialListByProCode(String proCode);

    /**
     * 获取类型列表
     *
     * @param proCode
     * @return
     */
    List<String> getOutSpecialListByProCode(String proCode);

    /**
     * 获取外购件主单列表
     *
     * @param param
     * @return
     */
    List<VwRepResultModel> findPurPlanListViewList(VwRepResultModel param);

    /**
     * 获取原材料主单列表
     *
     * @param param
     * @return
     */
    List<VwRepResultModel> findRawMatPlanListViewList(VwRepResultModel param);

    /**
     * 获取外协件主单列表
     *
     * @param param
     * @return
     */
    List<VwRepResultModel> findOutPlanListViewList(VwRepResultModel param);

    /**
     * 工艺卡的专业列表
     *
     * @param proCode
     * @return
     */
    List<String> findProcessCardSpecialListByProCode(String proCode);

    /**
     * 获取工艺卡查看主单列表
     *
     * @param param
     * @return
     */
    List<VwCraCardSheetModel> findProcessCardListViewList(VwCraCardSheetModel param);

    /**
     * 生产令下达数量
     *
     * @return
     */
    Integer getProdOrdReleaseNum();

    /**
     * 排产任务池数量
     *
     * @return
     */
    Integer getSchedulingNum();

    /**
     * 普通任务池数量
     *
     * @return
     */
    Integer getCommonNum();

    /**
     * 科级总调计划审核数量
     *
     * @return
     */
    Integer getAuditNum();

    /**
     * 部级总调计划审核数量
     *
     * @return
     */
    Integer getAuditMinisterialNum();

    /**
     * 获取工艺卡零件级列表
     *
     * @param param
     * @return
     */
    List<VwCraCardSheetModel> findProcessPartsList(VwCraCardSheetModel param);

    /**
     * 下料任务列表
     *
     * @param param
     * @return
     */
    List<ProdCuttingDetailModel> cutTaskViewList(ProdCuttingDetailModel param);

    /**
     * 装配派工单查看
     *
     * @param param
     * @return
     */
    List<AsseAssemblySheetModel> findAssemblySheetListViewList(AsseAssemblySheetModel param);

    /**
     * 获取项目串料标识维护页面列表
     *
     * @param param
     * @return
     */
    List<ProdOrdModel> findChangeFlagProdOrdList(ProdOrdModel param);

    /**
     * 根据项目号更新该项目号下所有非终止生产令是否可串料
     *
     * @param param
     * @return
     */
    Integer updateProdOrdProdChaMatAndProdChaPurByProdProCod(ProdOrdModel param);

    /**
     * 加载项目文件查询页项目列表
     *
     * @param param
     * @return
     */
    List<ProjectByAttachmentListModel> findProjectByAttachmentListByParam(ProjectByAttachmentListModel param);

    /**
     * 根据条件查询销售系统的询价单附件、项目任务单附件、项目附件、技术协议这四种类型的文件列表
     *
     * @param param
     * @return
     */
    List<FileListModel> findProjectAttachmentList(FileListModel param);

    /**
     * 获取询价单模型类
     *
     * @param fileId
     * @return
     */
    FileListModel getInquirySheetAttachmentByFileId(Integer fileId);

    /**
     * 获取项目附件模型类
     *
     * @param fileId
     * @return
     */
    FileListModel getProjectAttachmentByFileId(Integer fileId);

    /**
     * 获取及时文件模型类
     *
     * @param fileId
     * @return
     */
    FileListModel getTechnicalAgreementAttachmentByFileId(Integer fileId);

    /**
     * 查询任务单
     *
     * @param proInvId
     * @return
     */
    ProjectInvoiceModel selectProInvoInfoById(Integer proInvId);

    /**
     * 根据主键更新暂缓状态
     *
     * @param param
     * @return
     */
    Integer updateProdOrdProdManStaByPrimaryKey(ProdOrdModel param);

    /**
     * @methodName: deleteProdPlaDetailByPrimary
     * @description: 根据主键删除总调计划从表数据
     * @param: integer
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺
     * @date： 2021/3/25 18:36
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer deleteProdPlaDetailByPrimary(Integer prpdId);

    /**
     * @methodName: getProdPlaDetByPrimaryKey
     * @description: 根据主键获取总调计划从表信息
     * @param: integer
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet
     * @exception：
     * @author： 徐一贺
     * @date： 2021/3/25 19:02
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdPlaDet getProdPlaDetByPrimaryKey(Integer integer);

    /**
     * @methodName: getProdPlaByPropProdNo
     * @description: 根据生产令编号获取总调计划主表
     * @param: prodNo
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdPla
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 15:32
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdPla getProdPlaByPropProdNo(String prodNo);

    /**
     * @methodName: getProdTasByProtPropIdAndProtCod
     * @description: 根据总调计划主键和code获取对应的任务
     * @param: prodTas
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdTas
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 15:43
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdTas getProdTasByProtPropIdAndProtCod(ProdTas prodTas);

    /**
     * @methodName: updateProdPlaRetPrprRetDatByPrprPropIdAndPrprCod
     * @description: 根据总调计划主表主键和项目号更新反馈的时间
     * @param: prodPlaRet
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 16:48
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdPlaRetPrprRetDatByPrprPropIdAndPrprCod(ProdPlaRet prodPlaRet);

    /**
     * @methodName: updateProdTasPrptStaAndProtSouByPrimaryKey
     * @description: 根据主键更新状态和状态来源
     * @param: machiningTask
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 17:51
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdTasPrptStaAndProtSouByPrimaryKey(ProdTas machiningTask);

    /**
     * @methodName: getProdTasByProtPropIdAndCods
     * @description: 根据总调计划主表下料、机加、铆焊、装配、安装已完成的数量
     * @param: propId
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 18:02
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer getProdTasByProtPropIdAndCods(Integer propId);

    /**
     * @methodName: getProdTasByProtPropIdAndCodsNotStarted
     * @description: 根据总调计划主表下料、机加、铆焊、装配、安装执行中的数量
     * @param: propId
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 18:05
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer getProdTasByProtPropIdAndCodsNotStarted(Integer propId);

    /**
     * @methodName: updateProdOrdProdExeStaByPrimaryKey
     * @description: 根据主键更新生产状态
     * @param: prodOrd
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 18:07
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdOrdProdExeStaByPrimaryKey(ProdOrd prodOrd);

    /**
     * 变更列表
     *
     * @param model
     * @return
     */
    List<ProjectSchedulingModel> selectProjectChangeList(ProjectSchedulingModel model);

    ProjectModel selectChangeInfoById(Integer proChangeId);

    PreEnquiry selectPreEnqById(Integer preEnqId);

    ProChange selectByPrimaryKey(Integer proChangeId);

    /**
     * 按询价变更单ID查询附件列表
     */
    List<PreEnquiryFile> findChangeFileListByEnquiryId(@Param("enquiryId") Integer enquiryId, @Param("origEnquiryId") Integer origEnquiryId);

    /**
     * @methodName: getVwPreEnquiryFileByPrimary
     * @description: 根据主键获取附件对象
     * @param: id
     * @return： com.zw.mes.module.prodtaskmanager.entity.VwPreEnquiryFile
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/7 9:49
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    VwPreEnquiryFile getVwPreEnquiryFileByPrimary(Integer id);

    /**
     * @methodName: getMaterialRequisitionSubmitNum
     * @description: 获取领料申请待提交数量
     * @param: makUid
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/6 14:41
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer getMaterialRequisitionSubmitNum(@Param("makUid") Integer makUid);

    /**
     * @methodName: getMaterialRequisitionAuditNum
     * @description: 获取领料申请待审核数量
     * @param: verifier
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/6 14:42
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer getMaterialRequisitionAuditNum(@Param("verifier") Integer verifier);

    /**
     * @param prodNo 生产令编号
     * @Author wsg
     * @Date 13:29 2021/6/8
     * @Description 取得生产令生产、装配、安装状态
     **/
    ProdTasStatus getProdTasStatusByProdNo(String prodNo);

    /**
     * @param prodNo 生产令编号
     * @param status 状态 0=未完成，1=已完成
     * @Author wsg
     * @Date 13:29 2021/6/8
     * @Description 更新生产令生产完成状态
     **/
    Integer udpCodStaAndDate(@Param("prodNo") String prodNo, @Param("status") Integer status, @Param("comDat") Date comDat);
    /**
     * 根据生产令标号修改生产完成状态为执行中
     * @param prodNo
     */
    Integer udpCodSta(@Param("prodNo") String prodNo, @Param("status") Integer status);

    /**
     * 根据生产令编号删除生产令
     * @param prodNo
     * @return
     */
    int deleteProdOrdByProdCod(@Param("prodNo") String prodNo);

    /**
     * 根据生产令编号获取对应的调试反馈数据
     * @param prodNo
     * @return
     */
    InstDebuggingDetail getInstDebuggingDetailByProdNo(String prodNo);

    /**
     * 插入调试反馈
     * @param instDebuggingDetail
     * @return
     */
    int insertInstDebuggingDetail(InstDebuggingDetail instDebuggingDetail);

    /**
     *
     * 根据总调计划主键删除计划明细
     * @param propId
     * @return
     */
    int deleteProdPlaDetailByPrpdPropId(Integer propId);

    /**
     * 根据总调计划主键删除计划任务
     * @param propId
     * @return
     */
    int deleteProdTasByProtPropId(Integer propId);

    /**
     * 根据总调计划主键删除计划反馈
     * @param propId
     * @return
     */
    int deleteProdPlaRetByPrprPropId(Integer propId);

    /**
     * 根据总调计划主键删除计划主表数据
     * @param propId
     * @return
     */
    int deleteProdPlaByPrimary(Integer propId);

    ProductModel selectProductList(ProductModel model);

    ProductModel selectProductList1(ProductModel model);

    /**
     * 查询当月铆焊下达总产量
     * @param model
     * @return
     */
    double selectSolderAllNum(ProductModel model);

    /**
     * 查询当月铆焊完成产量
     * @param model
     * @return
     */
    double selectSolderCompleteNum(ProductModel model);

    /**
     * 查询当月喷涂下达总产量
     * @param model
     * @return
     */
    double selectSprayAllNum(ProductModel model);

    /**
     * 查询当月喷涂完成产量
     * @param model
     * @return
     */
    double selectSprayCompleteNum(ProductModel model);

    /**
     * 查询当月机加总产量
     * @param model
     * @return
     */
    int selectMachiningAllNum(ProductModel model);

    /**
     * 查询当月机加完成量
     * @param model
     * @return
     */
    int selectMachiningCompleteNum(ProductModel model);

    double selectSolderCompleteNumBydate(@Param("time")String time);

    double selectSprayCompleteNumDate(@Param("time")String time);

    int selectMachiningCompleteNumDate(@Param("time")String time);

    List<ProductModel> getPruductDateNum(ProductModel productModel);
}